package proyecto.BusinessLogic;

import java.util.List;

import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import proyecto.DataAccessObject.AlumnoActividadEvaluacionDAORemote;
import proyecto.EntityBeans.AlumnoActividadEvaluacion;

@Stateless
@Remote(AlumnoActividadEvaluacionBLRemote.class)
public class AlumnoActividadEvaluacionBL implements AlumnoActividadEvaluacionBLRemote {

	AlumnoActividadEvaluacionDAORemote alumnoActividadEvaluacionDAORemote;
	
	public int save(AlumnoActividadEvaluacion alumnoActividadEvaluacion) {	
		
		try
		{
			Context context = new InitialContext();
			alumnoActividadEvaluacionDAORemote = (AlumnoActividadEvaluacionDAORemote) context.lookup("AlumnoActividadEvaluacionDAO/remote");
		} catch (NamingException e)
		{
			e.printStackTrace();
			throw new RuntimeException(e);
		}
			
		return alumnoActividadEvaluacionDAORemote.save(alumnoActividadEvaluacion); //alta de alumnoActividadEvaluacionDAORemote		
		
	}
	
	
	public List findById(int idAlumno, int idActividad, int idEvaluacion) {
		try
		{
			Context context = new InitialContext();
			alumnoActividadEvaluacionDAORemote = (AlumnoActividadEvaluacionDAORemote) context.lookup("AlumnoActividadEvaluacionDAO/remote");
		} catch (NamingException e)
		{
			e.printStackTrace();
			throw new RuntimeException(e);
		}
			
		return alumnoActividadEvaluacionDAORemote.findByid(idAlumno, idActividad, idEvaluacion);
		
	}
	
	
	public AlumnoActividadEvaluacion findByIdAAE(int idAlumnoActividadEvaluacion) {
		try
		{
			Context context = new InitialContext();
			alumnoActividadEvaluacionDAORemote = (AlumnoActividadEvaluacionDAORemote) context.lookup("AlumnoActividadEvaluacionDAO/remote");
		} catch (NamingException e)
		{
			e.printStackTrace();
			throw new RuntimeException(e);
		}
			
		return alumnoActividadEvaluacionDAORemote.findByIdAAE(idAlumnoActividadEvaluacion);
		
	}
	
		
	public void merge(AlumnoActividadEvaluacion alumnoActividadEvaluacion) {
		try
		{
			Context context = new InitialContext();
			alumnoActividadEvaluacionDAORemote = (AlumnoActividadEvaluacionDAORemote) context.lookup("AlumnoActividadEvaluacionDAO/remote");
			alumnoActividadEvaluacionDAORemote.merge(alumnoActividadEvaluacion);
		} catch (NamingException e)
		{
			e.printStackTrace();
			throw new RuntimeException(e);
		}	
		
	}
	
		
	public List findAll() {		
		try
		{
			Context context = new InitialContext();
			alumnoActividadEvaluacionDAORemote = (AlumnoActividadEvaluacionDAORemote) context.lookup("AlumnoActividadEvaluacionDAO/remote");
		} catch (NamingException e)
		{
			e.printStackTrace();
			throw new RuntimeException(e);
		}
		
		return alumnoActividadEvaluacionDAORemote.findAll();
	}
	
	
		
	public void remove(int idAlumnoActividadEvaluacion){	
		try
		{
			Context context = new InitialContext();
			alumnoActividadEvaluacionDAORemote = (AlumnoActividadEvaluacionDAORemote) context.lookup("AlumnoActividadEvaluacionDAO/remote");
		} catch (NamingException e)
		{
			e.printStackTrace();
			throw new RuntimeException(e);
		}
		
		alumnoActividadEvaluacionDAORemote.remove(idAlumnoActividadEvaluacion);
	}
	
}
